Memory units configured by a plurality of NAND flash memories (hereinafter, “NAND memories”) have come into practical use. In general, the storage area of a NAND memory includes to some extent a number of congenitally defective blocks (hereinafter, “congenital defective blocks”). For this reason, when using the NAND memory, it is necessary for the user to use normal blocks that excluded the congenital defective blocks, based on congenital defective block identification indicating which blocks are congenital defective blocks. NAND memories are shipped with congenital defective block identification stored in a prescribed block. Because the congenital defective block identification is stored in a block that is usable by the user, once use of the NAND memory begins, there is a possibility that it might be overwritten by the user. For this reason, the user reads the congenital defective block identification out from the NAND memory and stores it into a separate storage device when beginning to use the NAND memory.
In a memory unit configured by such NAND memories, when the power is switched on, the congenital defective block identification is read out from all of the NAND memories and stored into a defective block management table that manages the defective blocks. The memory unit holds data by using normal blocks other than defective blocks, including the congenital defective blocks registered in the defective block management table.
In such a memory unit, however, if an error occurs in part of the NAND memories, it is necessary for a maintenance person to replace the failed NAND memory and then manually perform maintenance to the defective block management table. For this reason, the memory unit maintenance task might incur a high cost.